Skip to main content

Sincronización MISP

Para el desarrollo de la explicación, se utlizan dos instancias MISP configuradas en la misma red con distintas direcciones (192.168.80.49 y 192.168.80.9).

Concepto de sincronización

Primero, se muestra la información publicada en la guía oficial.

0645ecaed53737b7ca485eec8c8e31e5.png

7db7263d18fd65cf8366283815bdb482.png

Para más información sobre la sincronización, en el issue 2595 se aclara el procedimento, como se muestra a continuación.

50e3806b077b360e99404ad32f80d36d.png

¿CÓMO SE MATERIALIZA?

Se va a explicar el procedimiento de sincronización en la instancia B(IB) y en la instancia A (IA): Por un lado, se crea en IB una organización B (OB), IBOB y un usuario (UB) dentro de esa OB, IBOBUB. Esto se hace de manera idéntica en A: IA, IAOA, IAOAUA.

Por otro lado y para recibir eventos de IA en OB, se crea en IB una organización idéntica a la que se haya creado previamente en IA, IBOA (mismo UUID). A continuación, se crea en esta IAOB, un usuario idéntico a IAOAUA, incluyendo su clave PGP; será IBOAUA. Se hace lo mimo en IA, IAOB + IAOBUB.

Después y con un usuario administrador perteneciente a una organización distinta, se crea un servidor de sincronización desde una instancia a la otra, utilizando la organización externa y la auth key generada para el usuario propio en la instancia externa. Es decir, para IA se crea con un usuario administrador distinto IBOCUC, un sync server en el que se configure IBOA y la clave auth key de IAOBUB obtenida al loguearse con este usuario en su perfil. Lo mismo se hace en IA, se crea con IAOCUC un sync server con IAOB y la clave de IBOAUA.

PROCEDIMIENTO ENTRE DOS INSTANCIAS. FASE 1

INSTANCIA B

Con usuario administrador de una organización creada previamente:

  1. Se crea la organización propia: Administration - Add organization y se rellena Organisation Identifier y Generate UUID.

2a5dfdf4b261f25945580a4594ea3d2b.png

  1. Se crea el UB y se asigna a OB: Administration - Add User. Ahora, se va a editar el usuario para introducir la clave pública, aceptar los términos y desactivar el cambio de contraseña en el primer inicio de sesión (ahorra tiempo en las pruebas).

fd14c25afc84d3b8c8f916c291c11fef.png

  1. Se va a usuarios y se edita:

    • Se crean las claves:
        gpg --gen-key #Para generar las claves, se rellenan los datos con el correo del usuario.

    gpg --list-secret-keys --keyid-format=long #Para ver el ID una vez generadas
    # sec 2048R/E0C05505E81CE78F 2022-06-16
    # uid user@OrgB.ServerB <user@OrgB.ServerB>

    gpg --armor --export E0C05505E81CE78F #Para ver la cláve pública mediante el ID
    #Se copia la clave, empezando por -----BEGIN PGP PUBLIC KEY BLOCK----- y terminando por -----END PGP PUBLIC KEY BLOCK-----. Para a continuación, pegarla en el proceso de creación del usuario

ccbbc772f79bcb04152d86528dac6e8c.png

ca72a39620ce6566a7b2d9c1bbbfded1.png

631267a24b0b6dd1c296313584a8ef93.png

91a5c84b2aef9ababe2024e3c815330c.png

  • Se pega la clave PGP en el usuario y se marcan las casillas mostradas

2b0511060efa7bbc42e2697bc3d198fa.png

Nos logueamos en el usuario creado user@OrgB.ServerB, UBOB.

INSTANCIA A

  1. Se crea una IAOB OrgB.ServerA con el mismo UUID de la OrgB.ServerB IBOB.

8a22eff8f36bc520d05dc6dbf5eb0727.png

Se reciben los datos del usuario de la OrgB.ServerB, IBOBUB, para configurar en nuestra instancia. Se crea un usuario en la instancia A con el mismo nombre que el usuario que está creado en la instacia B. Se le asigna a la OrgB.ServerA IAOB y se configura con Role Sync user. También se le añade la clave PGP con la que está configurado en la instancia B.

a535e5e7267f4960216a33f3e82c6d78.png

Como hemos hecho antes, se edita para aceptar los términos y las contraseñas.

8828441f4bb20d846ae18fd4d5dcd29f.png

Nos logueamos en el usuario creado user@OrgB.ServerB, IAOBUB para activarlo.

PROCEDIMIENTO ENTRE DOS INSTANCIAS. FASE 2

En esta fase, se configuran los servidores de sincronización para que en la IA aparezcan los eventos de IBy viceversa. Se toma como ejemplo para que aparezcan los eventos de A en B.

INSTANCIA A

  1. Crear en el usuario de sincronización IBOAUA, las auth keys. Este usuario es el que sirve de nexo con la IB.
  2. Para ello, nos logueamos con este usuario IBOAUA, luego Global Actions - My Profile - Auth keys - +Add authentication key, Submit, anotamos la clave creada
hWaCX3ON25ZqZTSNxut3H4TkZCsXPozva9abulo5

INSTANCIA B

Con usuario administrador de una organización distinta, IBOCUC, se crea un sync server que sincronice IB con IA. De manera que cuando se publiquen eventos en IBOC por IBOCUC, el usuario IAOBUB del que hemos sacado las auth keys, publique en IA. Sync Actions - List servers - New Servers

Para rellenar los datos, hace falta:

  • Base URL: dirección del la instancia B
  • Instance name: un nombre idenificativo
  • Organisation Type: Local organization
  • Local Organization: OrgB.ServerA

9bc0043ea07ab4ed22c556bfe6b3c5a2.png